/*
 *
 * Copyright 2021-2025 Software Radio Systems Limited
 *
 * This file is part of srsRAN.
 *
 * srsRAN is free software: you can redistribute it and/or modify
 * it under the terms of the GNU Affero General Public License as
 * published by the Free Software Foundation, either version 3 of
 * the License, or (at your option) any later version.
 *
 * srsRAN is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU Affero General Public License for more details.
 *
 * A copy of the GNU Affero General Public License can be found in
 * the LICENSE file in the top-level directory of this distribution
 * and at http://www.gnu.org/licenses/.
 *
 */

#pragma once

// This file was generated using the following MATLAB class on 24-07-2024 (seed 0):
//   + "srsPUSCHProcessorUnittest.m"

#include "../../../support/resource_grid_test_doubles.h"
#include "srsran/phy/upper/channel_estimation.h"
#include "srsran/phy/upper/channel_processors/pusch/pusch_processor.h"
#include "srsran/support/file_vector.h"

namespace srsran {

struct test_case_context {
  unsigned               rg_nof_rb;
  unsigned               rg_nof_symb;
  pusch_processor::pdu_t config;
};

struct test_case_t {
  test_case_context                                       context;
  file_vector<resource_grid_reader_spy::expected_entry_t> grid;
  file_vector<uint8_t>                                    sch_data;
  file_vector<uint8_t>                                    harq_ack;
  file_vector<uint8_t>                                    csi_part1;
  file_vector<uint8_t>                                    csi_part2;
};

using csi_part2_size = uci_part2_size_description;

static const std::vector<test_case_t> pusch_processor_test_data = {
    // clang-format off
  {{270, 14, {std::nullopt, {0, 6}, 62751, 270, 0, cyclic_prefix::NORMAL, {modulation_scheme::QPSK, 273.5}, {{0, ldpc_base_graph_type::BG2, true}}, {0, 0, csi_part2_size(0), 1, 20, 6.25, 6.25}, 988, 1, {0}, {0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, pusch_processor::dmrs_configuration({dmrs_type::TYPE1, 63608, 1, 2}), rb_allocation::make_type1(246, 12), 0, 14, units::bytes(159749), 3068}}, {"test_data/pusch_processor_test_input_grid0.dat"}, {"test_data/pusch_processor_test_tb0.dat"}, {"test_data/pusch_processor_test_harq0.dat"}, {"test_data/pusch_processor_test_csi10.dat"}, {"test_data/pusch_processor_test_csi20.dat"}},
  {{166, 14, {std::nullopt, {0, 5}, 18185, 150, 16, cyclic_prefix::NORMAL, {modulation_scheme::QAM256, 255.5}, {{0, ldpc_base_graph_type::BG2, true}}, {0, 0, csi_part2_size(0), 1, 20, 6.25, 6.25}, 713, 1, {0, 1}, {0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0}, pusch_processor::dmrs_configuration({dmrs_type::TYPE1, 62811, 1, 2}), rb_allocation::make_type1(43, 5), 0, 14, units::bytes(159749), 577}}, {"test_data/pusch_processor_test_input_grid1.dat"}, {"test_data/pusch_processor_test_tb1.dat"}, {"test_data/pusch_processor_test_harq1.dat"}, {"test_data/pusch_processor_test_csi11.dat"}, {"test_data/pusch_processor_test_csi21.dat"}},
  {{262, 14, {std::nullopt, {0, 1}, 25020, 250, 12, cyclic_prefix::NORMAL, {modulation_scheme::QAM256, 492.6}, {{0, ldpc_base_graph_type::BG2, true}}, {0, 0, csi_part2_size(0), 1, 20, 6.25, 6.25}, 122, 1, {0, 1, 2, 3}, {0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0}, pusch_processor::dmrs_configuration({dmrs_type::TYPE1, 3719, 0, 2}), rb_allocation::make_type1(44, 4), 0, 14, units::bytes(159749), 580}}, {"test_data/pusch_processor_test_input_grid2.dat"}, {"test_data/pusch_processor_test_tb2.dat"}, {"test_data/pusch_processor_test_harq2.dat"}, {"test_data/pusch_processor_test_csi12.dat"}, {"test_data/pusch_processor_test_csi22.dat"}},
  {{270, 14, {std::nullopt, {0, 9}, 25841, 270, 0, cyclic_prefix::NORMAL, {modulation_scheme::QAM256, 701.9}, {{0, ldpc_base_graph_type::BG1, true}}, {0, 4, csi_part2_size(0), 1, 20, 6.25, 6.25}, 1002, 1, {0}, {0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0}, pusch_processor::dmrs_transform_precoding_configuration({952}), rb_allocation::make_type1(137, 24), 0, 14, units::bytes(159749), 1909}}, {"test_data/pusch_processor_test_input_grid3.dat"}, {"test_data/pusch_processor_test_tb3.dat"}, {"test_data/pusch_processor_test_harq3.dat"}, {"test_data/pusch_processor_test_csi13.dat"}, {"test_data/pusch_processor_test_csi23.dat"}},
  {{75, 14, {std::nullopt, {0, 6}, 3512, 50, 25, cyclic_prefix::NORMAL, {modulation_scheme::QAM64, 350.6}, {{0, ldpc_base_graph_type::BG2, true}}, {0, 4, csi_part2_size(0), 1, 20, 6.25, 6.25}, 488, 1, {0, 1}, {0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0}, pusch_processor::dmrs_transform_precoding_configuration({713}), rb_allocation::make_type1(28, 6), 0, 14, units::bytes(159749), 419}}, {"test_data/pusch_processor_test_input_grid4.dat"}, {"test_data/pusch_processor_test_tb4.dat"}, {"test_data/pusch_processor_test_harq4.dat"}, {"test_data/pusch_processor_test_csi14.dat"}, {"test_data/pusch_processor_test_csi24.dat"}},
  {{205, 14, {std::nullopt, {0, 8}, 3244, 150, 55, cyclic_prefix::NORMAL, {modulation_scheme::QPSK, 675}, {{0, ldpc_base_graph_type::BG1, true}}, {0, 4, csi_part2_size(0), 1, 20, 6.25, 6.25}, 262, 1, {0, 1, 2, 3}, {0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0}, pusch_processor::dmrs_transform_precoding_configuration({545}), rb_allocation::make_type1(1, 72), 0, 14, units::bytes(159749), 666}}, {"test_data/pusch_processor_test_input_grid5.dat"}, {"test_data/pusch_processor_test_tb5.dat"}, {"test_data/pusch_processor_test_harq5.dat"}, {"test_data/pusch_processor_test_csi15.dat"}, {"test_data/pusch_processor_test_csi25.dat"}},
  {{268, 14, {std::nullopt, {0, 8}, 45438, 150, 118, cyclic_prefix::NORMAL, {modulation_scheme::QPSK, 313.8}, {{0, ldpc_base_graph_type::BG2, true}}, {0, 5, csi_part2_size(1), 1, 20, 6.25, 6.25}, 854, 1, {0}, {0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0}, pusch_processor::dmrs_configuration({dmrs_type::TYPE1, 11957, 1, 2}), rb_allocation::make_type1(119, 27), 0, 14, units::bytes(159749), 1812}}, {"test_data/pusch_processor_test_input_grid6.dat"}, {"test_data/pusch_processor_test_tb6.dat"}, {"test_data/pusch_processor_test_harq6.dat"}, {"test_data/pusch_processor_test_csi16.dat"}, {"test_data/pusch_processor_test_csi26.dat"}},
  {{106, 14, {std::nullopt, {0, 9}, 17009, 75, 31, cyclic_prefix::NORMAL, {modulation_scheme::QAM64, 529.3}, {{0, ldpc_base_graph_type::BG1, true}}, {0, 5, csi_part2_size(1), 1, 20, 6.25, 6.25}, 741, 1, {0, 1}, {0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, pusch_processor::dmrs_configuration({dmrs_type::TYPE1, 10611, 0, 2}), rb_allocation::make_type1(0, 40), 0, 14, units::bytes(159749), 216}}, {"test_data/pusch_processor_test_input_grid7.dat"}, {"test_data/pusch_processor_test_tb7.dat"}, {"test_data/pusch_processor_test_harq7.dat"}, {"test_data/pusch_processor_test_csi17.dat"}, {"test_data/pusch_processor_test_csi27.dat"}},
  {{164, 14, {std::nullopt, {0, 2}, 18950, 100, 64, cyclic_prefix::NORMAL, {modulation_scheme::QAM256, 547.1}, {{0, ldpc_base_graph_type::BG1, true}}, {0, 5, csi_part2_size(1), 1, 20, 6.25, 6.25}, 182, 1, {0, 1, 2, 3}, {0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0}, pusch_processor::dmrs_transform_precoding_configuration({526}), rb_allocation::make_type1(60, 30), 0, 14, units::bytes(159749), 1087}}, {"test_data/pusch_processor_test_input_grid8.dat"}, {"test_data/pusch_processor_test_tb8.dat"}, {"test_data/pusch_processor_test_harq8.dat"}, {"test_data/pusch_processor_test_csi18.dat"}, {"test_data/pusch_processor_test_csi28.dat"}},
  {{220, 14, {std::nullopt, {0, 6}, 53339, 200, 20, cyclic_prefix::NORMAL, {modulation_scheme::QAM64, 309}, {{0, ldpc_base_graph_type::BG1, true}}, {1, 0, csi_part2_size(0), 1, 20, 6.25, 6.25}, 475, 1, {0}, {0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, pusch_processor::dmrs_configuration({dmrs_type::TYPE1, 48193, 0, 2}), rb_allocation::make_type1(126, 64), 0, 14, units::bytes(159749), 1665}}, {"test_data/pusch_processor_test_input_grid9.dat"}, {"test_data/pusch_processor_test_tb9.dat"}, {"test_data/pusch_processor_test_harq9.dat"}, {"test_data/pusch_processor_test_csi19.dat"}, {"test_data/pusch_processor_test_csi29.dat"}},
  {{270, 14, {std::nullopt, {0, 5}, 55742, 270, 0, cyclic_prefix::NORMAL, {modulation_scheme::QAM16, 396.7}, {{0, ldpc_base_graph_type::BG2, true}}, {1, 0, csi_part2_size(0), 1, 20, 6.25, 6.25}, 369, 1, {0, 1}, {0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0}, pusch_processor::dmrs_transform_precoding_configuration({101}), rb_allocation::make_type1(145, 16), 0, 14, units::bytes(159749), 1871}}, {"test_data/pusch_processor_test_input_grid10.dat"}, {"test_data/pusch_processor_test_tb10.dat"}, {"test_data/pusch_processor_test_harq10.dat"}, {"test_data/pusch_processor_test_csi110.dat"}, {"test_data/pusch_processor_test_csi210.dat"}},
  {{212, 14, {std::nullopt, {0, 9}, 8736, 75, 137, cyclic_prefix::NORMAL, {modulation_scheme::QAM256, 289.8}, {{0, ldpc_base_graph_type::BG2, true}}, {1, 0, csi_part2_size(0), 1, 20, 6.25, 6.25}, 788, 1, {0, 1, 2, 3}, {0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0}, pusch_processor::dmrs_transform_precoding_configuration({779}), rb_allocation::make_type1(43, 2), 0, 14, units::bytes(159749), 669}}, {"test_data/pusch_processor_test_input_grid11.dat"}, {"test_data/pusch_processor_test_tb11.dat"}, {"test_data/pusch_processor_test_harq11.dat"}, {"test_data/pusch_processor_test_csi111.dat"}, {"test_data/pusch_processor_test_csi211.dat"}},
  {{260, 14, {std::nullopt, {0, 6}, 40820, 250, 10, cyclic_prefix::NORMAL, {modulation_scheme::QAM256, 379.3}, {{0, ldpc_base_graph_type::BG2, true}}, {1, 4, csi_part2_size(0), 1, 20, 6.25, 6.25}, 277, 1, {0}, {0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0}, pusch_processor::dmrs_configuration({dmrs_type::TYPE1, 36427, 1, 2}), rb_allocation::make_type1(239, 8), 0, 14, units::bytes(159749), 2957}}, {"test_data/pusch_processor_test_input_grid12.dat"}, {"test_data/pusch_processor_test_tb12.dat"}, {"test_data/pusch_processor_test_harq12.dat"}, {"test_data/pusch_processor_test_csi112.dat"}, {"test_data/pusch_processor_test_csi212.dat"}},
  {{261, 14, {std::nullopt, {0, 6}, 19164, 200, 61, cyclic_prefix::NORMAL, {modulation_scheme::QAM256, 596.4}, {{0, ldpc_base_graph_type::BG1, true}}, {1, 4, csi_part2_size(0), 1, 20, 6.25, 6.25}, 563, 1, {0, 1}, {0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0}, pusch_processor::dmrs_transform_precoding_configuration({28}), rb_allocation::make_type1(150, 18), 0, 14, units::bytes(159749), 1966}}, {"test_data/pusch_processor_test_input_grid13.dat"}, {"test_data/pusch_processor_test_tb13.dat"}, {"test_data/pusch_processor_test_harq13.dat"}, {"test_data/pusch_processor_test_csi113.dat"}, {"test_data/pusch_processor_test_csi213.dat"}},
  {{215, 14, {std::nullopt, {0, 9}, 5745, 150, 65, cyclic_prefix::NORMAL, {modulation_scheme::QAM256, 460.4}, {{0, ldpc_base_graph_type::BG1, true}}, {1, 4, csi_part2_size(0), 1, 20, 6.25, 6.25}, 680, 1, {0, 1, 2, 3}, {0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0}, pusch_processor::dmrs_transform_precoding_configuration({794}), rb_allocation::make_type1(94, 10), 0, 14, units::bytes(159749), 1196}}, {"test_data/pusch_processor_test_input_grid14.dat"}, {"test_data/pusch_processor_test_tb14.dat"}, {"test_data/pusch_processor_test_harq14.dat"}, {"test_data/pusch_processor_test_csi114.dat"}, {"test_data/pusch_processor_test_csi214.dat"}},
  {{262, 14, {std::nullopt, {0, 10}, 5694, 50, 212, cyclic_prefix::NORMAL, {modulation_scheme::QAM64, 583}, {{0, ldpc_base_graph_type::BG1, true}}, {1, 5, csi_part2_size(1), 1, 20, 6.25, 6.25}, 342, 1, {0}, {0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, pusch_processor::dmrs_transform_precoding_configuration({433}), rb_allocation::make_type1(15, 9), 0, 14, units::bytes(159749), 408}}, {"test_data/pusch_processor_test_input_grid15.dat"}, {"test_data/pusch_processor_test_tb15.dat"}, {"test_data/pusch_processor_test_harq15.dat"}, {"test_data/pusch_processor_test_csi115.dat"}, {"test_data/pusch_processor_test_csi215.dat"}},
  {{153, 14, {std::nullopt, {0, 10}, 18699, 150, 3, cyclic_prefix::NORMAL, {modulation_scheme::QAM256, 476.1}, {{0, ldpc_base_graph_type::BG1, true}}, {1, 5, csi_part2_size(1), 1, 20, 6.25, 6.25}, 217, 1, {0, 1}, {0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0}, pusch_processor::dmrs_configuration({dmrs_type::TYPE1, 57562, 1, 2}), rb_allocation::make_type1(22, 40), 0, 14, units::bytes(159749), 370}}, {"test_data/pusch_processor_test_input_grid16.dat"}, {"test_data/pusch_processor_test_tb16.dat"}, {"test_data/pusch_processor_test_harq16.dat"}, {"test_data/pusch_processor_test_csi116.dat"}, {"test_data/pusch_processor_test_csi216.dat"}},
  {{270, 14, {std::nullopt, {0, 5}, 7638, 270, 0, cyclic_prefix::NORMAL, {modulation_scheme::QPSK, 491}, {{0, ldpc_base_graph_type::BG1, true}}, {1, 5, csi_part2_size(1), 1, 20, 6.25, 6.25}, 240, 1, {0, 1, 2, 3}, {0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0}, pusch_processor::dmrs_transform_precoding_configuration({370}), rb_allocation::make_type1(104, 120), 0, 14, units::bytes(159749), 1321}}, {"test_data/pusch_processor_test_input_grid17.dat"}, {"test_data/pusch_processor_test_tb17.dat"}, {"test_data/pusch_processor_test_harq17.dat"}, {"test_data/pusch_processor_test_csi117.dat"}, {"test_data/pusch_processor_test_csi217.dat"}},
  {{244, 14, {std::nullopt, {0, 10}, 734, 200, 44, cyclic_prefix::NORMAL, {modulation_scheme::QAM64, 400.4}, {{0, ldpc_base_graph_type::BG1, true}}, {10, 0, csi_part2_size(0), 1, 20, 6.25, 6.25}, 420, 1, {0}, {0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0}, pusch_processor::dmrs_configuration({dmrs_type::TYPE1, 31645, 1, 2}), rb_allocation::make_type1(49, 125), 0, 14, units::bytes(159749), 918}}, {"test_data/pusch_processor_test_input_grid18.dat"}, {"test_data/pusch_processor_test_tb18.dat"}, {"test_data/pusch_processor_test_harq18.dat"}, {"test_data/pusch_processor_test_csi118.dat"}, {"test_data/pusch_processor_test_csi218.dat"}},
  {{160, 14, {std::nullopt, {0, 10}, 43076, 50, 110, cyclic_prefix::NORMAL, {modulation_scheme::QPSK, 404.5}, {{0, ldpc_base_graph_type::BG2, true}}, {10, 0, csi_part2_size(0), 1, 20, 6.25, 6.25}, 55, 1, {0, 1}, {0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0}, pusch_processor::dmrs_configuration({dmrs_type::TYPE1, 48427, 0, 2}), rb_allocation::make_type1(19, 24), 0, 14, units::bytes(159749), 384}}, {"test_data/pusch_processor_test_input_grid19.dat"}, {"test_data/pusch_processor_test_tb19.dat"}, {"test_data/pusch_processor_test_harq19.dat"}, {"test_data/pusch_processor_test_csi119.dat"}, {"test_data/pusch_processor_test_csi219.dat"}},
  {{215, 14, {std::nullopt, {0, 2}, 5816, 200, 15, cyclic_prefix::NORMAL, {modulation_scheme::QPSK, 333.9}, {{0, ldpc_base_graph_type::BG2, true}}, {10, 0, csi_part2_size(0), 1, 20, 6.25, 6.25}, 817, 1, {0, 1, 2, 3}, {0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0}, pusch_processor::dmrs_configuration({dmrs_type::TYPE1, 2426, 1, 2}), rb_allocation::make_type1(121, 24), 0, 14, units::bytes(159749), 1663}}, {"test_data/pusch_processor_test_input_grid20.dat"}, {"test_data/pusch_processor_test_tb20.dat"}, {"test_data/pusch_processor_test_harq20.dat"}, {"test_data/pusch_processor_test_csi120.dat"}, {"test_data/pusch_processor_test_csi220.dat"}},
  {{270, 14, {std::nullopt, {0, 9}, 25893, 270, 0, cyclic_prefix::NORMAL, {modulation_scheme::QPSK, 202.6}, {{0, ldpc_base_graph_type::BG2, true}}, {10, 4, csi_part2_size(0), 1, 20, 6.25, 6.25}, 219, 1, {0}, {0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, pusch_processor::dmrs_configuration({dmrs_type::TYPE1, 42298, 0, 2}), rb_allocation::make_type1(178, 32), 0, 14, units::bytes(159749), 2307}}, {"test_data/pusch_processor_test_input_grid21.dat"}, {"test_data/pusch_processor_test_tb21.dat"}, {"test_data/pusch_processor_test_harq21.dat"}, {"test_data/pusch_processor_test_csi121.dat"}, {"test_data/pusch_processor_test_csi221.dat"}},
  {{229, 14, {std::nullopt, {0, 0}, 60852, 75, 154, cyclic_prefix::NORMAL, {modulation_scheme::QAM64, 233}, {{0, ldpc_base_graph_type::BG2, true}}, {10, 4, csi_part2_size(0), 1, 20, 6.25, 6.25}, 666, 1, {0, 1}, {0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0}, pusch_processor::dmrs_transform_precoding_configuration({714}), rb_allocation::make_type1(22, 30), 0, 14, units::bytes(159749), 753}}, {"test_data/pusch_processor_test_input_grid22.dat"}, {"test_data/pusch_processor_test_tb22.dat"}, {"test_data/pusch_processor_test_harq22.dat"}, {"test_data/pusch_processor_test_csi122.dat"}, {"test_data/pusch_processor_test_csi222.dat"}},
  {{136, 14, {std::nullopt, {0, 10}, 13534, 75, 61, cyclic_prefix::NORMAL, {modulation_scheme::QPSK, 628.9}, {{0, ldpc_base_graph_type::BG1, true}}, {10, 4, csi_part2_size(0), 1, 20, 6.25, 6.25}, 119, 1, {0, 1, 2, 3}, {0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0}, pusch_processor::dmrs_configuration({dmrs_type::TYPE1, 32918, 0, 2}), rb_allocation::make_type1(5, 40), 0, 14, units::bytes(159749), 148}}, {"test_data/pusch_processor_test_input_grid23.dat"}, {"test_data/pusch_processor_test_tb23.dat"}, {"test_data/pusch_processor_test_harq23.dat"}, {"test_data/pusch_processor_test_csi123.dat"}, {"test_data/pusch_processor_test_csi223.dat"}},
  {{163, 14, {std::nullopt, {0, 7}, 55250, 150, 13, cyclic_prefix::NORMAL, {modulation_scheme::QAM64, 447.5}, {{0, ldpc_base_graph_type::BG1, true}}, {10, 5, csi_part2_size(1), 1, 20, 6.25, 6.25}, 617, 1, {0}, {0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0}, pusch_processor::dmrs_configuration({dmrs_type::TYPE1, 49311, 1, 2}), rb_allocation::make_type1(80, 64), 0, 14, units::bytes(159749), 1422}}, {"test_data/pusch_processor_test_input_grid24.dat"}, {"test_data/pusch_processor_test_tb24.dat"}, {"test_data/pusch_processor_test_harq24.dat"}, {"test_data/pusch_processor_test_csi124.dat"}, {"test_data/pusch_processor_test_csi224.dat"}},
  {{268, 14, {std::nullopt, {0, 6}, 22625, 100, 168, cyclic_prefix::NORMAL, {modulation_scheme::QAM64, 715.2}, {{0, ldpc_base_graph_type::BG1, true}}, {10, 5, csi_part2_size(1), 1, 20, 6.25, 6.25}, 332, 1, {0, 1}, {0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0}, pusch_processor::dmrs_transform_precoding_configuration({855}), rb_allocation::make_type1(66, 32), 0, 14, units::bytes(159749), 1016}}, {"test_data/pusch_processor_test_input_grid25.dat"}, {"test_data/pusch_processor_test_tb25.dat"}, {"test_data/pusch_processor_test_harq25.dat"}, {"test_data/pusch_processor_test_csi125.dat"}, {"test_data/pusch_processor_test_csi225.dat"}},
  {{177, 14, {std::nullopt, {0, 1}, 65076, 75, 102, cyclic_prefix::NORMAL, {modulation_scheme::QPSK, 314.5}, {{0, ldpc_base_graph_type::BG2, true}}, {10, 5, csi_part2_size(1), 1, 20, 6.25, 6.25}, 614, 1, {0, 1, 2, 3}, {0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0}, pusch_processor::dmrs_transform_precoding_configuration({425}), rb_allocation::make_type1(8, 27), 0, 14, units::bytes(159749), 473}}, {"test_data/pusch_processor_test_input_grid26.dat"}, {"test_data/pusch_processor_test_tb26.dat"}, {"test_data/pusch_processor_test_harq26.dat"}, {"test_data/pusch_processor_test_csi126.dat"}, {"test_data/pusch_processor_test_csi226.dat"}},
    // clang-format on
};

} // namespace srsran
